Asignación para el próximo lunes

Solución

  1. Chroma:

\[C=\sqrt{(a^2+b^2)}\] 2. Hub:

\[h=arctan(\frac{b}{a})\] #Solución Chroma y Hub

dfcie <- read_excel("C:/Users/57321/Desktop/CE 2022-1/Cielab_tueste_cafe.xlsx")
fig <- plot_ly(data = dfcie, 
               x = ~C, 
               y = ~H, 
               #z = ~H, 
               size = 0.7, 
               color = ~tueste)
fig
## No trace type specified:
##   Based on info supplied, a 'scatter' trace seems appropriate.
##   Read more about this trace type -> https://plotly.com/r/reference/#scatter
## No scatter mode specifed:
##   Setting the mode to markers
##   Read more about this attribute -> https://plotly.com/r/reference/#scatter-mode

Métodos de agrupamiento (Cluestering)

  • Kmeans (K-medias) para creación de cluster
M = dfcie[ ,c(-1,-2,-3,-4)]

M
## # A tibble: 120 x 5
##        C     H     R     G       B
##    <dbl> <dbl> <dbl> <dbl>   <dbl>
##  1  32.3 0.748  72.6  21.1  2.57  
##  2  29.6 0.791  62.7  17.6 -5.16  
##  3  33.4 0.798  68.6  17.5 -7.66  
##  4  29.3 0.769  65.8  20.2  0.679 
##  5  28.5 0.814  63.7  21.1 -1.00  
##  6  30.2 0.761  63.8  16.5 -4.55  
##  7  34.4 0.783  76.7  23.0  1.24  
##  8  32.2 0.839  68.2  20.8 -5.83  
##  9  27.9 0.770  60.3  17.2 -3.33  
## 10  32.1 0.767  70.7  20.4 -0.0358
## # ... with 110 more rows
## Número óptimo de clusters

Ms = scale(M)
fviz_nbclust(Ms,
             FUNcluster = kmeans,
             method = 'gap_stat',
             diss = get_dist(Ms,
                             'euclidean'))

clus1 = kmeans(Ms, 3)
dfcie$cluster <- clus1$cluster
dfcie <- dfcie[c(-1,-2,-3,-4)]
dfcie |>
  group_by(cluster) |>
  summarise(media_C = mean(C),
            media_H = mean(H),
            desv_C = sd(C),
            desv_H = sd(H),
            coeV_C = 100 * desv_C/media_C,
            coeV_H = 100 *desv_H/media_H,
            )
## # A tibble: 3 x 7
##   cluster media_C media_H desv_C desv_H coeV_C coeV_H
##     <int>   <dbl>   <dbl>  <dbl>  <dbl>  <dbl>  <dbl>
## 1       1    38.4   0.842   1.94 0.0153   5.05   1.81
## 2       2    30.9   0.788   2.27 0.0243   7.36   3.08
## 3       3    24.1   0.792   2.39 0.0377   9.90   4.76
#table(dfcie$tueste,
#      clus1$cluster) ## Matriz de confusión

CIELAB TO RGB

dfcie <- read_excel("C:/Users/57321/Desktop/CE 2022-1/Cielab_tueste_cafe.xlsx")
fig <- plot_ly(data = dfcie, 
               x = ~R, 
               y = ~G, 
               z = ~B, 
               size = 0.7, 
               color = ~tueste)
fig
## No trace type specified:
##   Based on info supplied, a 'scatter3d' trace seems appropriate.
##   Read more about this trace type -> https://plotly.com/r/reference/#scatter3d
## No scatter3d mode specifed:
##   Setting the mode to markers
##   Read more about this attribute -> https://plotly.com/r/reference/#scatter-mode

Métodos de agrupamiento (Cluestering)

  • Kmeans (K-medias) para creación de cluster
M = dfcie[ ,c(-1,-2,-3,-4,-5,-6)]

M
## # A tibble: 120 x 3
##        R     G       B
##    <dbl> <dbl>   <dbl>
##  1  72.6  21.1  2.57  
##  2  62.7  17.6 -5.16  
##  3  68.6  17.5 -7.66  
##  4  65.8  20.2  0.679 
##  5  63.7  21.1 -1.00  
##  6  63.8  16.5 -4.55  
##  7  76.7  23.0  1.24  
##  8  68.2  20.8 -5.83  
##  9  60.3  17.2 -3.33  
## 10  70.7  20.4 -0.0358
## # ... with 110 more rows

Métodos de agrupamiento (Cluestering)

  • Kmeans (K-medias) para creación de cluster
## Número óptimo de clusters
Ms = scale(M)
fviz_nbclust(Ms,
             FUNcluster = kmeans,
             method = 'gap_stat',
             diss = get_dist(Ms,
                             'euclidean'))

clus1 = kmeans(Ms, 3)
dfcie$cluster <- clus1$cluster
dfcie <- dfcie[-4]
dfcie |>
  group_by(cluster) |>
  summarise(media_R = mean(R),
            media_G = mean(G),
            media_B = mean(B),
            desv_R = sd(R),
            desv_G = sd(G),
            desv_B = sd(B),
            coeV_R = 100 * desv_R/media_R,
            coeV_G = 100 *desv_G/media_G,
            coeV_B = 100 *desv_B/media_B)
## # A tibble: 3 x 10
##   cluster media_R media_G media_B desv_R desv_G desv_B coeV_R coeV_G coeV_B
##     <int>   <dbl>   <dbl>   <dbl>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>  <dbl>
## 1       1    70.6    32.6   18.7    6.16   2.84   2.71   8.72   8.71   14.5
## 2       2    66.9    19.5   -2.67   4.93   2.39   3.30   7.36  12.3  -124. 
## 3       3   112.     50.1   23.8    5.47   3.17   2.40   4.90   6.33   10.1
#table(dfcie$tueste,
#      clus1$cluster) ## Matriz de confusión